iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
1
自我挑戰組

從0開始,一起學C語言吧!系列 第 24

從0開始,一起學C語言吧!(Day24)

  • 分享至 

  • xImage
  •  

Day24-陣列來表示字串

那今天我們要教的是用陣列來表示字串
那我來看一下範例吧!
範例1: 印出Jason

#include<stdio.h>
#include<stdlib.h>
int main(void){
	char name[6];
	name[0]='J';
	name[1]='a';
	name[2]='s';
	name[3]='o';
	name[4]='n';
	name[5]='\0';
	printf("%s",name);
    system("pause");
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190925/20119958s268EIN2Nf.png
範例2:

#include<stdio.h>
#include<stdlib.h>
int main(void){
	char name[6];
	name[0]='J';
	name[1]='a';
	name[2]='\0';
	name[3]='s';
	name[4]='o';
	name[5]='n';
	printf("%s",name);
    system("pause");
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190925/20119958HbeATBhv2s.png
解釋:
%s代表印出一個字串
字元’\0’指的是判斷字串是否結束
再來我們要講的是二維和多維陣列

範例: 使用二維陣列計算行列的值
若矩陣A=https://ithelp.ithome.com.tw/upload/images/20190925/20119958UAwYBppL6V.png
|A|=a00a11a22+a10a21a02+a20a12a01-a02a11a20-a12a21a20-a22a10a01

#include<stdio.h>
#include<stdlib.h>
int main(void){
	int line[3][3],i,j,ans=0;
	for(i=0;i<3;i++)
	   for(j=0;j<3;j++){
	   	printf("輸入行列式地%d行%d列的元素:",i+1,j+1);
	   	scanf("%d",&line[i][j]);
	   }
	   
    for(i=0;i<3;i++){
    	ans=ans+line[0][i*line[1][(i+1)%3]]*line[2][(i+2)%3];
    	    -line[0][(i+2)%3]*line[1][(i+1)%3]*line[2][i];
	}
	printf("Ans=%d\n",ans);
	system("pause");
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190925/20119958WudMI8xCYH.png

最後一個我們要講的是將陣列傳遞進函式
陣列也可以當作引數,傳遞進入函式中,但比較特別的地方是傳遞陣列時不會將陣列複製一份,而是將陣列第一個元素的記憶體位址傳遞進函式
範例:

#include<stdio.h>
#include<stdlib.h>
void func(int []);
int main(void){
	int a[2]={3,6};
	printf("a[0]=%d a[1]=%d\n",a[0],a[1]);
	func(a);
	printf("a[0]=%d a[1]=%d\n]",a[0],a[1]);
	system("pause");
}
void func(int a[]){
	int temp;
	temp=a[0];
	a[0]=a[1];
	a[1]=temp;
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190925/201199587fGP1Grt8C.png
解釋:
對於傳入陣列的函式,並不了解陣列也幾個元素,只知道陣列開頭的位址,因此傳遞陣列進入函式時,通常也會在傳遞一個整數常數,紀錄這個陣列具有多少元素
那今天就先到這拉
謝謝大家今天的閱讀


上一篇
從0開始,一起學C語言吧!(Day23)
下一篇
從0開始,一起學C語言吧!(Day25)
系列文
從0開始,一起學C語言吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言